安装概述:
以下是部署环境:
系统环境为:
三台系统为Centos 6.8 的服务器
主机IP:10.6.11.19 10.6.11.23 10.6.11.22
软件环境为:
tomcat 8.5.24
jdk1.8.0_162
solr6.6.3
zookeepr-3.4.10
tomcat安装不多说,配置java环境即可启动,出现以下画面就说明tomcat服务已经部署完成
将solr6部署到tomcat 8 容器内(仅以单节点安装为例,三个节点的安装步骤是一样的)
cp -r /home/tomcat/software/solr-6.6.3/server/solr-webapp/webapp /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr
cp -r /home/tomcat/software/solr-6.6.3/server/lib/metrics* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/
rm -f /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/metrics-jetty9-3.2.2.jar
cp -r /home/tomcat/software/solr-6.6.3/server/lib/ext/* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib/
cp -r /home/tomcat/software/solr-6.6.3/dist/solr-dataimporthandler-* /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib
cp -r /home/tomcat/software/solr-6.6.3/dist/solr-clustering-6.6.3.jar /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/lib
mkdir /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/classes
cp -r /home/tomcat/software/solr-6.6.3/server/resources/log4j.properties /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/classes
创建solrhome目录
mkdir /home/tomcat/apache-tomcat-8.5.24-solr/solrhome
cp -r /home/tomcat/software/solr-6.6.3/server/solr/* /home/tomcat/apache-tomcat-8.5.24-solr/solrhome/
修改web.xml文件,配置solrhome目录和solr访问权限
vim /home/tomcat/apache-tomcat-8.5.24-solr/webapps/solr/WEB-INF/web.xml
找到solr/home 根据自己的实际情况配置solr路径
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/home/tomcat/apache-tomcat-8.5.24-solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
配置访问权限,注释下图红圈部分内容
修改tomcat server.xml文件,配置服务访问端口
vim /home/tomcat/apache-tomcat-8.5.24-solr/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
connectionTimeout="20000"
maxThreads="150"
maxSpareThreads="75"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
修改solr配置文件 host设置为本机IP,port设置和tomcat端口一致,均为8080
vim /home/tomcat/apache-tomcat-8.5.24-solr/solrhome/solr.xml
<solr>
<solrcloud>
<str name="host">${host:10.6.11.19}</str>
<int name="hostPort">${jetty.port:8080}</int>
<str name="hostContext">${hostContext:solr}</str>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:600000}</int>
<int name="connTimeout">${connTimeout:60000}</int>
</shardHandlerFactory>
</solr>
重启tomcat 服务,验证安装
出现以上页面,solr就已成功部署到tomcat容器内创建
根据需求创建分片,使用以下命令进行创建:
http://IP:8080/solr/admin/collections?action=CREATE&name=分片名称&numShards=分片数&replicationFactor=副本数&maxShardsPerNode=节点数&collection.configName=conf目录名称
例如:
http://10.6.11.19:8080/solr/admin/collections?action=CREATE&name=user&numShards=2&replicationFactor=3&maxShardsPerNode=3&collection.configName=user
出现以下参数即说明分片创建成功
访问http://IP:8080/solr/#/~cloud 验证分片
使用此命令创建了两个分片,三个副本
一般只可以创建两个副本,增加&maxShardsPerNode=3&collection.configName=user 参数突破副本创建限制